// The dropdown menu
.dropdown{

  // split warning dropdown toggle
  &.show{
    .btn-outline-warning,
    .btn-outline-light{
      &.dropdown-toggle{
        color: $white;
      }
    }
  }
  .btn:not(.btn-sm):not(.btn-lg),
  .btn:not(.btn-sm):not(.btn-lg).dropdown-toggle {
    padding: $dropdown-btn-padding-y $dropdown-btn-padding-x;
    &.btn-round {
      @include button-round-variant(2rem);
    }
  }

  .btn.dropdown-toggle.dropdown-toggle-split {
    padding: $dropdown-btn-padding-y $dropdown-btn-split-padding-x;
    border-left-color: rgba($white, 0.2) !important;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }

  [class*="btn-outline-"].dropdown-toggle.dropdown-toggle-split {
    border-left: 0 !important;

    &:active {
      color: $white;
    }
  }

  // dropdown menu
  .dropdown-menu {
    border: 1px solid rgba($pure-black, .05); // border opacity has been reduced to make it look same as vue's dropdown border [component page, list view page]
    border-radius: $dropdown-border-radius;
    transform: scale(1, 0);
    box-shadow: 0 5px 25px rgba($pure-black, 0.1); // this according to vue version
    // left: 5px;  // it creates issue in navbar - notification dropdown
    min-width: 8rem;
    &::before {
      content: '';
      position: absolute;
      top: -1px;
      left: 1.2rem;
      width: .75rem;
      height: .75rem;
      display: block;
      background: $white;
      transform: rotate(45deg) translate(-7px);
      border-top: 1px solid rgba($pure-black, .1);
      border-left: 1px solid rgba($pure-black, .1);
      z-index: 10;
      box-sizing: border-box;
    }

    &.dropdown-menu-right {
      &::before {
        right: .6rem;
        left: auto;
      }

    }

    .dropdown-header {
      padding: .714rem 1.428rem;
      margin-top: .714rem;
    }

    .dropdown-item {
      padding: .5rem 1rem;
      color: $body-color;
      width: auto;
      cursor: pointer;
      &:hover{
        background-color: $body-bg;
        color: $primary;
      }
      &.active {
        color: $white;
      }

      &:active {
        background-color: transparent;
        color: $dropdown-color;
      }
    }

  }

  i {
    margin-right: 0.5rem;
  }

  // If don't won't dropdown/up arrow
  &.no-arrow{
    .dropdown-toggle{
      &:after{
        display: none;
      }
      i{
        margin-right: 0;
      }
    }
  }
}
 // same padding for diffrent directions
 .dropdown,
 .dropup,
 .dropright,
 .dropleft{
   position: relative;
  .dropdown-menu{
    .dropdown-item{
      padding: .714rem 1.428rem;
    }
  }
 }
.show {
  >.dropdown-menu {
    transform: scale(1, 1);
    opacity: 1;
    display: block;
  }
}

.dropdown-toggle {
  // changed icon caret

  &::after {
    border: none !important;
    font-family: 'feather';
    content: "\e842" !important;
    position: relative;
    top: 1px;
    right: 0px;
    left: .714rem;
    padding: 0;
    // left: 1.4rem;
    margin: 0;
    vertical-align: 0;
  }

  &.dropdown-toggle-split {
    border-left: 1px solid rgba($white, 0.2);

    &:after {
      left: 0;
    }
  }


  // hide default arrow to show custom icon DD
  &.nav-hide-arrow {
    &::after {
      display: none;
    }
  }

  // Prevent the focus on the dropdown toggle when closing dropdowns
  &:focus {
    outline: 0;
  }
}

// Color theme active & hover
.btn-secondary~.dropdown-menu {
  .dropdown-item {
    &.active,
    &:hover {
      background-color: darken($white, 20%);
    }
  }
}

// DropUp
.dropup {
  position: relative;
  .btn,
  .btn.dropdown-toggle {
    padding: $dropdown-btn-padding-y $dropdown-btn-padding-x;
  }
  .btn.dropdown-toggle.dropdown-toggle-split {
    padding: $dropdown-btn-padding-y $dropdown-btn-split-padding-x;
    border-color: rgba($white, 0.2) !important;
  }
  .dropdown-toggle {
    // changed icon dropup caret
    &::after {
      content: "\e845" !important;
      vertical-align: 0.05rem;
    }
  }
  .dropdown-menu {
    &::before {
      content: '';
      position: absolute;
      bottom: -.714rem;
      left: 1.214rem;
      width: .714rem;
      height: .714rem;
      display: block;
      background: $white;
      transform: rotate(45deg) translate(-7px);
      border-bottom: 1px solid rgba($pure-black, .1);
      border-right: 1px solid rgba($pure-black, .1);
      z-index: 10;
      box-sizing: border-box;
    }
    &.dropdown-menu-right{
      &::before{
        left: auto;
        right: .714rem;
      }
    }

  }
  .dropdown-submenu {
    .dropdown-menu {
      bottom: auto;
      top: 0;
    }
  }
}


// DropLeft
.dropleft {
  .btn,
  .btn.dropdown-toggle {
    padding: $dropdown-btn-padding-y $dropdown-btn-padding-x;
  }
  .btn.dropdown-toggle.dropdown-toggle-split {
    padding: $dropdown-btn-padding-y $dropdown-btn-split-padding-x;
  }
  .dropdown-toggle {
    // changed icon dropup caret
    &::before {
      border: none !important;
      font-family: 'feather';
      content: "\e843" !important;
    }
  }
  .dropdown-menu {
    &::before {
      content: '';
      position: absolute;
      top: 1.285rem;
      right: 0;
      width: .714rem;
      height: .714rem;
      display: block;
      background: $white;
      transform: rotate(130deg) translate(-8px);
      border-top: 1px solid rgba($pure-black, .1);
      border-left: 1px solid rgba($pure-black, .1);
      z-index: 10;
      box-sizing: border-box;
    }
  }
}

// DropRight
.dropright {
  .btn,
  .btn.dropdown-toggle {
    padding: $dropdown-btn-padding-y $dropdown-btn-padding-x;
  }
  .btn.dropdown-toggle.dropdown-toggle-split {
    padding: $dropdown-btn-padding-y $dropdown-btn-split-padding-x;
  }
  .dropdown-toggle {
    // changed icon dropup caret
    &::after {
      border: none !important;
      font-family: 'feather';
      content: "\e844" !important;
    }
  }
  .dropdown-menu {
    &::before {
      content: '';
      position: absolute;
      top: 1.285rem;
      left: -0.9rem;
      width: .714rem;
      height: .714rem;
      display: block;
      background: $white;
      transform: rotate(140deg) translate(-9px);
      border-bottom: 1px solid rgba($pure-black, .1);
      border-right: 1px solid rgba($pure-black, .1);
      z-index: 10;
      box-sizing: border-box;
    }
  }
}

// Dropdown icon
.dropdown,
.dropup {
  &.dropdown-icon-wrapper {
    .dropdown-toggle {
      &:after {
        display: none;
      }
    }
    .dropdown-menu {
      min-width: auto;
      .dropdown-item {
        padding: 0.5rem 1.1rem;
        cursor: pointer;
        i {
          font-size: 1.3rem;
          color: $body-color;
        }
        &:hover{
          color: $white;
        }
      }
    }
  }
}

  // for white button
  .btn.btn-white ~ .dropdown-menu {
    .dropdown-item:not(.acitve):hover{
    color: $body-color !important;
    }
    .dropdown-item.active{
      color: $body-color;
    }
}

// Dropdown menu animation
.horizontal-menu-wrapper .dropdown-menu,
.header-navbar .dropdown-menu{
  animation-duration: 0.3s;
  animation-fill-mode: both;
  animation-name: slideIn;
}

@keyframes slideIn {
 0% {
   transform: translateY(1rem);
   opacity: 0;
 }
 100% {
   transform:translateY(0rem);
   opacity: 1;
 }
 0% {
   transform: translateY(1rem);
   opacity: 0;
 }
}